!
!     routine de calcul de la solution exacte
!
SUBROUTINE CALCUL(F,NX,NY)
!
!     Arguments
!       F : OUT : le vecteur 2D qui contiendra en sortie la solution
!       NX, NY : IN : les dimensions utiles du vecteur F
!
  DOUBLE PRECISION F(NX,NY)
  INTEGER NX,NY
!
!     Variables locales
!
  DOUBLE PRECISION  PI
  DOUBLE PRECISION PASX, PASY
!
  PASX = 1.0 / (NX + 1)
  PASY = 1.0 / (NY + 1)
!
  PI = 3.1415927
!
  DO J = 1, NY
    DO I = 1, NX
      F(I,J) = SIN( PI*I*PASX ) * SIN( PI*J*PASY )
    ENDDO
  ENDDO
!
  RETURN
!
  END

